// aiserve/common.go
package aiserve

import (
	models "yuanaiproblem/dao/model"
)

// AIConfig 所有AI服务的通用配置结构体
type AIConfig struct {
	APIKey      string  // API密钥
	BaseURL     string  // 接口基础地址
	Model       string  // 模型名称（如"doubao-1-5-pro-32k"、"qwen-turbo"）
	Temperature float32 // 温度参数（0-1）
	MaxTokens   int     // 最大令牌数
	Timeout     int     // 超时时间（秒）
}

// AIService 所有AI服务的统一接口
type AIService interface {
	GenerateQuestions(prompt string, count int, userId int32) ([]models.Question, error)
}

// 全局默认配置（可从数据库加载）
var DefaultConfigs = map[string]AIConfig{
	"doubao": {
		BaseURL:     "https://ark.cn-beijing.volces.com/api/v3",
		Model:       "doubao-1-5-pro-32k-250115",
		Temperature: 0.7,
		MaxTokens:   2000,
		Timeout:     30,
	},
	"tongyi": {
		BaseURL:     "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions",
		Model:       "qwen-turbo",
		Temperature: 0.7,
		MaxTokens:   2000,
		Timeout:     30,
	},
}
